package com.bank.filter;

import java.io.IOException;
import java.util.List;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
import org.springframework.web.context.support.WebApplicationContextUtils;

import com.bank.pojo.BankNewsType;
import com.bank.svc.BankNewsTypeSvc;

@Component("indexFilter")
public class IndexFilter implements Filter{
	private BankNewsTypeSvc bnts;
	@Override
	public void destroy() {}

	@Override
	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		HttpServletRequest req=(HttpServletRequest)request;
		HttpServletResponse resp=(HttpServletResponse)response;
		HttpSession session=req.getSession();
		//BankAdmin admin=(BankAdmin) session.getAttribute("admin");
		//if(null==admin){
			//resp.sendRedirect("login.jsp");
		//}else
			List<BankNewsType> newsTypeList=bnts.getAllType();
			session.setAttribute("newsTypeList",newsTypeList);
			chain.doFilter(request, response);
		//}
	}

	@Override
	public void init(FilterConfig cfg) throws ServletException {
		ServletContext context = cfg.getServletContext();
		ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(context); 
		bnts=(BankNewsTypeSvc) ctx.getBean("newsTypeSvc");
	}

}
